package cn.itheima.edu.info.manger.dao;

import cn.itheima.edu.info.manger.domain.Student;

/**
 * 学生的Dao层
 */
public class StudentDao {
    //定义一个数组容器用于储存学生对象信息
    private static Student[] students = new Student[5];

    /**
     * 该方法是添加学生信息的方法
     *
     * @param student 传递进来的学生类对象信息
     */
    public void addStudent(Student student) {
        //1.遍历数组容器
        for (int i = 0; i < students.length; i++) {
            //2.判断当前元素是否为空，不为null将学生对象添加给该索引,添加成功返回去一个true，否者返回一个
            if (students[i] == null) {
                students[i] = student;
                break;


            }
        }

    }

    /**
     * 获取容器的方法
     * @return 返回一个学生类型数组
     */
    public Student[] getstudents() {
        return students;


    }

    /**
     * 删除学生id方法
     * @param studentid 用户要删除的学生id
     */
    public  void  deleteStudent(String studentid) {
        //遍历数组容器，判断用户id所在的索引位置并删除
        int index = getindex(studentid);
        //使用null对获取到的索引元素进行覆盖
        students[index]=null;


    }

    /**
     *获取输入id所在的索引位置方法
     *
     */
    public int getindex(String id) {
        //假设索引等于-1；
        int index=-1;
        //遍历数组元素，判断那个元素的id等于用户录入的id，并将索引值赋给index，并返回。
        for (int i = 0; i < students.length; i++) {
            if(students[i]!=null&&students[i].getId().equals(id)){
                index=i;
            }
        }
        return index;
    }

    public void updateStudent(Student student, String upid) {
        //调用getindex方法获取用户录入id的索引位置 并进行修改
        int index= getindex(upid);
        //修改该索引位置的学生信息
        students[index]=student;
    }
}
